package com.cc.common

import java.time.LocalDate
import java.time.LocalDateTime
import java.time.format.DateTimeFormatter

/**
 * 日期格式: yyyy-MM-dd HH:mm:ss
 */
const val DATE_FORMAT_1 = "yyyy-MM-dd HH:mm:ss"

/**
 * 日期格式: yyyy-MM-dd HH:mm
 */
const val DATE_FORMAT_2 = "yyyy-MM-dd HH:mm"

/**
 * 日期格式: yyyy-MM-dd HH:mm:ss.[SSS]
 */
const val DATE_FORMAT_3 = "yyyy-MM-dd HH:mm:ss.[SSS]"

/**
 * 日期格式: yyyyMMdd HHmmss
 */
const val DATE_FORMAT_4 = "yyyyMMdd HHmmss"

/**
 * 日期格式: yyyyMMddHHmmss
 */
const val DATE_FORMAT_5 = "yyyyMMddHHmmss"

/**
 * 日期格式: yyyyMMdd
 */
const val DATE_FORMAT_6 = "yyyyMMdd"

/**
 * 日期格式: yyMMdd
 */
const val DATE_FORMAT_7 = "yyMMdd"

/**
 * 日期格式: yyyy-MM-dd HH:mm:ss
 */
const val DATE_FORMAT_8 = "yyyy-MM-dd"
/**
 * 日期格式: yyyy-MM-dd"
 */

/********************************************Time格式字符串函数************************************/
/**
 * 时间格式：HH:mm
 */
const val TIME_FORMAT_9 = "HH:mm"

/**
 * 时间格式：HH:mm:ss
 */
const val TIME_FORMAT_10 = "HH:mm:ss"

private fun dateFormat(pattern: String, time: LocalDateTime): String {
    val df = DateTimeFormatter.ofPattern(pattern)
    return df.format(time)
}

private fun dateFormat(pattern: String, date: LocalDate): String {
    val df = DateTimeFormatter.ofPattern(pattern)
    return df.format(date)
}

/**
 * 格式化日期格式为：yyyy-MM-dd HH:mm:ss
 * @receiver LocalDateTime
 * @return String
 */
fun LocalDateTime.toStr5(): String = this.format(DateTimeFormatter.ofPattern(DATE_FORMAT_5))